package org.dromara.business.api.vo;

import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class UserProjectVO {

    /**
     * ID
     */
    private Long id;

    /**
     * 发放用户id
     */
    private Long userId;

    /**
     * 产品ID
     */
    private Long productId;

    /**
     * 购买时间
     */
    private Date purchaseTime;

    /**
     * 购买金额
     */
    private Long purchaseAmount;

    /**
     * 最后发放收益时间
     */
    @NotNull(message = "最后发放收益时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date finalDistributionEarningsDate;

    /**
     * 总项目周期
     */
    private Long projectDuration;

    /**
     * 剩余发放周期
     */
    private Long residualDistributionCycle;

    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 产品类型
     */
    private Integer productType;

    /**
     * 已发放金额
     */
    private BigDecimal amount;

    /**
     * 预计收益(%)
     */
    private BigDecimal expectedRevenue;

    /**
     * 预计总收益(%)
     */
    private BigDecimal expectedTotalRevenue;

    /**
     * 产品状态
     */
    private Integer status;

    /**
     * 币种
     */
    private String currency;

    private String name;
}
